package cn.vinann.demo.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import org.springframework.core.annotation.AliasFor;

/**
 * 脱敏注解
 * @author wn
 *
 */
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Desensitize {

	
	/**
	 * Alias for the {@link #excludes} attribute.
	 * <p>Allows for more concise annotation declarations e.g.:
	 * {@code @Desensitize("mobile")} is equivalent to
	 * {@code @Desensitize(excludes="mobile")}.
	 * @since 4.0
	 * @see #basePackages()
	 */
	
	@AliasFor("excludes")
	String[] value() default {};
	
	/**
     * 需要加密的字段
     * @return
     */
	@AliasFor("value")
    String[] excludes() default {};
    
    
}
